\subsection{cam.h-Dateireferenz}
\label{cam_8h}\index{cam.h@{cam.h}}
Die Schnittstelle zur Kamera. 

{\tt \#include \char`\"{}lcv-config.h\char`\"{}}\par
{\tt \#include \char`\"{}lcv-structs.h\char`\"{}}\par
{\tt \#include \char`\"{}cam-config.h\char`\"{}}\par
\subsubsection*{Funktionen}
\begin{CompactItemize}
\item 
{\bf lcv\_\-picture} {\bf lcv\_\-capture\_\-frame} (const char $\ast$filename)
\begin{CompactList}\small\item\em Holt ein Bild von der Kamera. \item\end{CompactList}\item 
{\bf lcv\_\-picture} {\bf lcv\_\-capture\_\-region} (const unsigned short start\_\-x, const unsigned short start\_\-y, const unsigned short width, unsigned short height, const char $\ast$filename)
\begin{CompactList}\small\item\em Holt ein Bildausschnutt von der Kamera. \item\end{CompactList}\item 
char {\bf lcv\_\-config\_\-write} (const unsigned int setting, const unsigned short value)
\begin{CompactList}\small\item\em Schreibt eine Registerkonfiguration. \item\end{CompactList}\item 
unsigned short {\bf lcv\_\-config\_\-read} (const unsigned int setting)
\begin{CompactList}\small\item\em Liest den Wert einer Registerkonfiguration. \item\end{CompactList}\item 
char {\bf lcv\_\-regs\_\-to\_\-default} ()
\begin{CompactList}\small\item\em Setzt alleRegister auf ihren Standardwert. \item\end{CompactList}\item 
void {\bf lcv\_\-reset\_\-capture\_\-frame} ()
\begin{CompactList}\small\item\em Setzt die 4 für die Bildregion verantwortlichen Register auf den Standardwert zurück. \item\end{CompactList}\item 
void {\bf lcv\_\-reg\_\-buffering} (const unsigned char enable)
\begin{CompactList}\small\item\em Aktiviert bzw. \item\end{CompactList}\end{CompactItemize}


\subsubsection{Ausführliche Beschreibung}
Die Schnittstelle zur Kamera. 

\begin{Desc}
\item[Autor:]Daniel Kummer, Sebastian Kummer \end{Desc}
\begin{Desc}
\item[Datum:]Donnerstag, Dezember 12, 2007 \end{Desc}
\begin{Desc}
\item[Version:]1.0 \end{Desc}


Definiert in Datei {\bf cam.h}.

\subsubsection{Dokumentation der Funktionen}
\index{cam.h@{cam.h}!lcv_capture_frame@{lcv\_\-capture\_\-frame}}
\index{lcv_capture_frame@{lcv\_\-capture\_\-frame}!cam.h@{cam.h}}
\paragraph{\setlength{\rightskip}{0pt plus 5cm}{\bf lcv\_\-picture} lcv\_\-capture\_\-frame (const char $\ast$ {\em filename})}\hfill\label{cam_8h_abd5b4037cc6f83069eaf5718d5ed872}


Holt ein Bild von der Kamera. 

\begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em filename}]Dateiname des Bildes (wird auf dem Zielsystem ignoriert) \end{description}
\end{Desc}
\begin{Desc}
\item[Rückgabe:]Bild \end{Desc}


Definiert in Zeile 43 der Datei cam-linux32.c.

Benutzt cam\_\-reg\_\-config, lcv\_\-picture::height, lcv\_\-config\_\-read(), lcv\_\-log\_\-error(), lcv\_\-read\_\-bmp(), REG\_\-WINDOW\_\-HEIGHT, REG\_\-WINDOW\_\-WIDTH und lcv\_\-picture::width.\index{cam.h@{cam.h}!lcv_capture_region@{lcv\_\-capture\_\-region}}
\index{lcv_capture_region@{lcv\_\-capture\_\-region}!cam.h@{cam.h}}
\paragraph{\setlength{\rightskip}{0pt plus 5cm}{\bf lcv\_\-picture} lcv\_\-capture\_\-region (const unsigned short {\em start\_\-x}, const unsigned short {\em start\_\-y}, const unsigned short {\em width}, unsigned short {\em height}, const char $\ast$ {\em filename})}\hfill\label{cam_8h_fccc314a597adadce86329989470f8ba}


Holt ein Bildausschnutt von der Kamera. 

\begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em start\_\-x}]Die erste X Koordinate der Region \item[{\em start\_\-y}]Die erste Y Koordinate der Region \item[{\em width}]Breite der Region \item[{\em height}]Höhe der Region \item[{\em filename}]Dateiname (Wird auf dem Zielsystem ignoriert) \end{description}
\end{Desc}
\begin{Desc}
\item[Rückgabe:]Bild \end{Desc}


Definiert in Zeile 93 der Datei cam-linux32.c.

Benutzt cam\_\-reg\_\-config, lcv\_\-picture::height, lcv\_\-log\_\-error(), lcv\_\-read\_\-bmp(), lcv\_\-reg\_\-config::max\_\-val, lcv\_\-reg\_\-config::min\_\-val, REG\_\-COLUMN\_\-START, REG\_\-ROW\_\-START und lcv\_\-picture::width.\index{cam.h@{cam.h}!lcv_config_read@{lcv\_\-config\_\-read}}
\index{lcv_config_read@{lcv\_\-config\_\-read}!cam.h@{cam.h}}
\paragraph{\setlength{\rightskip}{0pt plus 5cm}unsigned short lcv\_\-config\_\-read (const unsigned int {\em setting})}\hfill\label{cam_8h_672e3188bbcf535ff2e06d8539a9c13d}


Liest den Wert einer Registerkonfiguration. 

\begin{Desc}
\item[Rückgabe:]Registerwert \end{Desc}


Definiert in Zeile 183 der Datei cam-linux32.c.

Benutzt cam\_\-reg\_\-values, cam\_\-registers\_\-cnt, lcv\_\-cam\_\-reg\_\-init() und lcv\_\-log\_\-warning().\index{cam.h@{cam.h}!lcv_config_write@{lcv\_\-config\_\-write}}
\index{lcv_config_write@{lcv\_\-config\_\-write}!cam.h@{cam.h}}
\paragraph{\setlength{\rightskip}{0pt plus 5cm}char lcv\_\-config\_\-write (const unsigned int {\em setting}, const unsigned short {\em value})}\hfill\label{cam_8h_075f93aa7cc073b84b2f80d2818ee86c}


Schreibt eine Registerkonfiguration. 

\begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em setting}]Einstellung (Registeradresse) \item[{\em value}]Wert \end{description}
\end{Desc}
\begin{Desc}
\item[Rückgabe:]Erfolgsmeldung (positiv), bzw. Fehlernummer (negativ) \end{Desc}


Definiert in Zeile 156 der Datei cam-linux32.c.

Benutzt lcv\_\-reg\_\-config::addr, cam\_\-reg\_\-config, cam\_\-reg\_\-values, cam\_\-registers\_\-cnt, ERROR\_\-ILLEGAL\_\-SETTING, ERROR\_\-ILLEGAL\_\-VALUE, lcv\_\-cam\_\-reg\_\-init(), lcv\_\-log(), lcv\_\-log\_\-warning(), lcv\_\-reg\_\-config::max\_\-val, lcv\_\-reg\_\-config::min\_\-val und TRUE.\index{cam.h@{cam.h}!lcv_reg_buffering@{lcv\_\-reg\_\-buffering}}
\index{lcv_reg_buffering@{lcv\_\-reg\_\-buffering}!cam.h@{cam.h}}
\paragraph{\setlength{\rightskip}{0pt plus 5cm}void lcv\_\-reg\_\-buffering (const unsigned char {\em enable})}\hfill\label{cam_8h_f73241718d1a517f6e12e4ee474b5c30}


Aktiviert bzw. 

deaktiviert das Softwaremässige Puffering der Register. Es empfiehlt sich das Buffering auf Targetsystemen mit mehr als einem gleichzeitig laufenden Bildverarbeitungsprogramm zu deaktivieren. Auf dem Hostsystem ist Buffering nicht implementiert. Standardmässig ist der Buffer aktiviert. \begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em enable}]Aktiviert bzw. deaktiviert Buffering \end{description}
\end{Desc}


Definiert in Zeile 226 der Datei cam-linux32.c.\index{cam.h@{cam.h}!lcv_regs_to_default@{lcv\_\-regs\_\-to\_\-default}}
\index{lcv_regs_to_default@{lcv\_\-regs\_\-to\_\-default}!cam.h@{cam.h}}
\paragraph{\setlength{\rightskip}{0pt plus 5cm}char lcv\_\-regs\_\-to\_\-default ()}\hfill\label{cam_8h_280d093e6ddc853845445c45449fff6c}


Setzt alleRegister auf ihren Standardwert. 

\begin{Desc}
\item[Rückgabe:]Erfolgsmeldung (positiv), bzw. Fehlernummer (negativ) \end{Desc}


Definiert in Zeile 198 der Datei cam-linux32.c.

Benutzt cam\_\-reg\_\-config, cam\_\-registers\_\-cnt und lcv\_\-config\_\-write().\index{cam.h@{cam.h}!lcv_reset_capture_frame@{lcv\_\-reset\_\-capture\_\-frame}}
\index{lcv_reset_capture_frame@{lcv\_\-reset\_\-capture\_\-frame}!cam.h@{cam.h}}
\paragraph{\setlength{\rightskip}{0pt plus 5cm}void lcv\_\-reset\_\-capture\_\-frame ()}\hfill\label{cam_8h_07a0b332c7bbc5d99dabef97da819574}


Setzt die 4 für die Bildregion verantwortlichen Register auf den Standardwert zurück. 



Definiert in Zeile 206 der Datei cam-linux32.c.

Benutzt cam\_\-reg\_\-config, lcv\_\-config\_\-write(), REG\_\-COLUMN\_\-START, REG\_\-ROW\_\-START, REG\_\-WINDOW\_\-HEIGHT und REG\_\-WINDOW\_\-WIDTH.